package cn.iocoder.ny.module.mall.service;

import cn.hutool.json.JSONException;
import cn.iocoder.ny.module.mall.controller.admin.product.dto.MallProductDTO;
import cn.iocoder.ny.module.mall.controller.admin.product.dto.MallProductListDTO;
import cn.iocoder.ny.module.mall.controller.admin.product.vo.MallProductOrderVo;
import cn.iocoder.ny.module.mall.controller.admin.product.vo.MallProductPageVo;
import cn.iocoder.ny.module.mall.domain.MallProduct;
import cn.iocoder.ny.module.mall.domain.MallProductSpecification;
import cn.iocoder.ny.module.mall.domain.vo.MallProductVo;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fasterxml.jackson.core.JsonProcessingException;

import java.util.HashMap;
import java.util.List;

public interface IMallProductService extends IService<MallProduct> {
    boolean addProduct(MallProductDTO mallProductDTO) throws JSONException, JsonProcessingException;


    PageResult<MallProductVo> queryProductList(MallProductPageVo reqVO);

    MallProductVo queryByProductId(MallProductListDTO mallProductListDTO);

    int updateProductById(MallProductDTO mallProductDTO);

    boolean deleteProductById(MallProductDTO  mallProductDTO);

    Integer productCopy(MallProductDTO mallProductDTO) throws JSONException, JsonProcessingException;

    String makeerByproductId(String appId,String productId);

    List<MallProduct> queryProductDropDownByTenantId();

    MallProductOrderVo queryBySpecificationId(HashMap<String, Object> hashMap);


//    String importProudct(List<MallProductVo> productList, String operName);
}
